function [peak_idx, peak_value] = FindPeak(data, peak_range)
    % FindPeak: 该函数用于检测数据中的峰值
    %
    % 输入：
    %   data: 光谱数据向量（例如，spectrum_mat(ii, jj, :)）
    %   peak_range: 可选参数，指定峰值的查找区间 [start, end]
    %
    % 输出：
    %   peak_idx: 峰值的索引（如果给定了峰值区间，则为区间内的最大峰索引）
    %   peak_value: 峰值的值
    
    % 检查是否给定了峰值范围
    if nargin < 2
        % 如果没有给定范围，查找全局最大值
        [peak_value, peak_idx] = max(data);
    else
        % 如果给定了范围，截取指定范围的光谱数据并查找峰值
        range_data = data(peak_range(1):peak_range(2));
        [peak_value, peak_local_idx] = max(range_data);
        peak_idx = peak_local_idx + peak_range(1) - 1;  % 转换为全局索引
    end
end
